/**
 * 顺序递增分组 AscendingGroups
 * 中心扩展分组 CenterExpansionGroups 一样
 */
export const SIX_ASCENDING_GROUPS = [
  [1, 2, 3, 4, 5, 6], // 6个号码
  [7, 8, 9, 10, 11, 12], // 6个号码
  [13, 14, 15, 16, 17, 18], // 6个号码
  [19, 20, 21, 22, 23, 24], // 6个号码
  [25, 26, 27, 28, 29, 30], // 6个号码
  [31, 32, 33, 34, 35, 36], // 6个号码
  [37, 38, 39, 40, 41, 42], // 6个号码
  [43, 44, 45, 46, 47, 48, 49] // 7个号码
]

/**
 * 奇偶分组 OddEvenGroups
 * 跳号分组（跳2） JumpTwoGroups 一样
 * 和差分组 SumDifferenceGroups 一样
 * 隔位分组 SkippedGroups 一样
 */
export const SIX_ODD_EVEN_GROUPS = [
  [1, 3, 5, 7, 9, 11], // 6个奇数
  [2, 4, 6, 8, 10, 12], // 6个偶数
  [13, 15, 17, 19, 21, 23], // 6个奇数
  [14, 16, 18, 20, 22, 24], // 6个偶数
  [25, 27, 29, 31, 33, 35], // 6个奇数
  [26, 28, 30, 32, 34, 36], // 6个偶数
  [37, 39, 41, 43, 45, 47], // 6个奇数
  [38, 40, 42, 44, 46, 48, 49] // 7个偶数+剩余奇数
]

/**
 * 质数和合数分组 PrimeGroups
 */
export const SIX_PRIME_GROUPS = [
  [2, 3, 5, 7, 11, 13], // 6个质数
  [17, 19, 23, 29, 31, 37], // 6个质数
  [1, 4, 6, 41, 43, 47], // 6个质数+非质数
  [8, 9, 10, 12, 14, 15], // 6个合数
  [16, 18, 20, 21, 22, 24], // 6个合数
  [25, 26, 27, 28, 30, 32], // 6个合数
  [33, 34, 35, 36, 38, 39], // 6个合数
  [40, 42, 44, 45, 46, 48, 49] // 7个合数
]

/**
 * 模7分组 ModuloSevenGroups
 */
export const SIX_MODULO_SEVEN_GROUPS = [
  [1, 8, 15, 22, 29, 36], // 6个号码（模7=1）
  [2, 9, 16, 23, 30, 37], // 6个号码（模7=2）
  [3, 10, 17, 24, 31, 38], // 6个号码（模7=3）
  [4, 11, 18, 25, 32, 39], // 6个号码（模7=4）
  [5, 12, 19, 26, 33, 40], // 6个号码（模7=5）
  [6, 13, 20, 27, 34, 41], // 6个号码（模7=6）
  [7, 14, 21, 28, 35, 42], // 6个号码（模7=0）
  [43, 44, 45, 46, 47, 48, 49] // 7个剩余号码
]

/**
 * 尾数分组 MantissaGroups
 */
export const SIX_MANTISSA_GROUPS = [
  [1, 2, 11, 21, 31, 41], // 6个号码（尾数1-2）
  [3, 12, 13, 22, 32, 42], // 6个号码（尾数3）
  [4, 14, 23, 24, 33, 43], // 6个号码（尾数4）
  [5, 15, 25, 34, 35, 44], // 6个号码（尾数5）
  [6, 16, 26, 36, 45, 46], // 6个号码（尾数6）
  [7, 8, 17, 27, 37, 47], // 6个号码（尾数7-8）
  [9, 18, 19, 28, 38, 48], // 6个号码（尾数9-0）
  [10, 20, 29, 30, 39, 40, 49] // 7个号码（尾数0）
]

/**
 * 镜像分组 MirrorGroups
 * 中心对称扩展 CenterSymmetryGroups 一样
 */
export const SIX_MIRROR_GROUPS = [
  [1, 2, 3, 47, 48, 49], // 6个号码（从两端对称分布1）
  [4, 5, 6, 44, 45, 46], // 6个号码（从两端对称分布2）
  [7, 8, 9, 41, 42, 43], // 6个号码（从两端对称分布3）
  [10, 11, 12, 38, 39, 40], // 6个号码（从两端对称分布4）
  [13, 14, 15, 35, 36, 37], // 6个号码（从两端对称分布5）
  [16, 17, 18, 32, 33, 34], // 6个号码（从两端对称分布6）
  [19, 20, 21, 29, 30, 31], // 6个号码（从两端对称分布7）
  [22, 23, 24, 25, 26, 27, 28] // 7个号码（中心剩余号码）
]

/**
 * 交替分组 AlternateGroups
 */
export const SIX_ALTERNATE_GROUPS = [
  [1, 4, 7, 10, 13, 16], // 6个号码（交替1）
  [19, 22, 25, 28, 31, 34], // 6个号码（交替2）
  [2, 5, 37, 40, 43, 46], // 6个号码（交替3）
  [8, 11, 14, 17, 20, 23], // 6个号码（交替4）
  [26, 29, 32, 35, 38, 41], // 6个号码（交替5）
  [3, 6, 9, 12, 15, 44], // 6个号码（交替6）
  [18, 21, 24, 27, 30, 33], // 6个号码（交替7）
  [36, 39, 42, 45, 47, 48, 49] // 7个号码（剩余号码）
]

/**
 * 斐波那契分组 FibonacciGroups
 */
export const SIX_FIBONACCI_GROUPS = [
  [1, 2, 3, 5, 8, 13], // 6个号码（斐波那契数）
  [4, 6, 7, 9, 21, 34], // 6个号码（斐波那契+非斐波那契）
  [10, 11, 12, 14, 15, 16], // 6个号码（非斐波那契数）
  [17, 18, 19, 20, 22, 23], // 6个号码（非斐波那契数）
  [24, 25, 26, 27, 28, 29], // 6个号码（非斐波那契数）
  [30, 31, 32, 33, 35, 36], // 6个号码（非斐波那契数）
  [37, 38, 39, 40, 41, 42], // 6个号码（非斐波那契数）
  [43, 44, 45, 46, 47, 48, 49] // 7个号码（剩余）
]

/**
 * 模3分组 ModuloThreeGroups
 * 隔数跳跃分组 SkipIntervalGroups 一样
 */
export const SIX_MODULO_THREE_GROUPS = [
  [1, 4, 7, 10, 13, 16], // 6个号码（模3=1）
  [2, 5, 8, 11, 14, 17], // 6个号码（模3=2）
  [3, 6, 9, 12, 15, 18], // 6个号码（模3=0）
  [19, 22, 25, 28, 31, 34], // 6个号码（模3=1）
  [20, 23, 26, 29, 32, 35], // 6个号码（模3=2）
  [21, 24, 27, 30, 33, 36], // 6个号码（模3=0）
  [37, 39, 40, 41, 43, 46], // 6个号码（模3=1）
  [38, 42, 44, 45, 47, 48, 49] // 7个号码（剩余模3组）
]

/**
 * 倍数分组 MultipleGroups
 */
export const SIX_MULTIPLE_GROUPS = [
  [3, 6, 9, 12, 18, 21], // 6个3的倍数（替换掉一个重复的15）
  [5, 10, 15, 20, 25, 30], // 6个5的倍数
  [1, 2, 7, 8, 13, 17], // 6个非倍数
  [19, 22, 26, 29, 31, 34], // 6个非倍数
  [4, 11, 14, 27, 35, 37], // 添加37以补齐
  [24, 28, 32, 36, 40, 44], // 保持不变
  [16, 23, 33, 38, 42, 46], // 保持不变
  [39, 41, 43, 45, 47, 48, 49] // 7个剩余号码
]

/**
 * 尾数错位分组 OffsetMantissaGroups
 */
export const SIX_OFFSET_MANTISSA_GROUPS = [
  [1, 2, 12, 23, 34, 45], // 6个尾数偏移号码
  [3, 13, 14, 24, 35, 46], // 6个尾数偏移号码
  [4, 15, 25, 26, 36, 47], // 6个尾数偏移号码
  [5, 6, 16, 17, 27, 38], // 6个尾数偏移号码
  [7, 18, 28, 29, 39, 40], // 6个尾数偏移号码
  [8, 9, 19, 20, 30, 41], // 6个尾数偏移号码
  [10, 21, 31, 32, 42, 43], // 6个尾数偏移号码
  [11, 22, 33, 37, 44, 48, 49] // 7个剩余尾数偏移号码
]

/**
 * 四象限分组 QuadrantGroups
 */
export const SIX_QUADRANT_GROUPS = [
  [1, 2, 3, 13, 25, 37], // 6个号码（象限1）
  [4, 5, 6, 15, 27, 39], // 6个号码（象限2）
  [7, 8, 9, 17, 29, 41], // 6个号码（象限3）
  [10, 11, 12, 19, 31, 43], // 6个号码（象限4）
  [14, 16, 18, 20, 22, 24], // 6个号码（象限扩展1）
  [26, 28, 30, 32, 34, 36], // 6个号码（象限扩展2）
  [38, 40, 42, 44, 46, 48], // 6个号码（象限扩展3）
  [21, 23, 33, 35, 45, 47, 49] // 7个剩余号码
]

/**
 * 跳号倍数分组 MultipleSkipGroups
 */
export const SIX_MULTIPLE_SKIP_GROUPS = [
  [3, 6, 9, 12, 18, 21], // 6个3的倍数（替换掉重复的15）
  [5, 10, 15, 25, 30, 38], // 6个5的倍数（替换20为38，确保唯一性）
  [1, 7, 13, 19, 31, 48], // 替换25为48，避免重复
  [2, 8, 14, 20, 26, 32], // 保持不变
  [4, 11, 17, 23, 29, 35], // 保持不变
  [16, 22, 28, 34, 40, 46], // 保持不变
  [24, 27, 33, 36, 39, 43], // 保持不变
  [37, 41, 42, 44, 45, 47, 49] // 7个剩余号码
]

/**
 * 和差递增分组 SumDifferenceGroups
 */
export const SIX_SUM_DIFFERENCE_GROUPS = [
  [1, 2, 3, 4, 7, 11, 13], // 6个号码（和差递增1）
  [5, 6, 8, 9, 12, 17], // 6个号码（和差递增2）
  [10, 14, 15, 18, 19, 23], // 6个号码（和差递增3）
  [16, 20, 21, 24, 25, 29], // 6个号码（和差递增4）
  [22, 26, 27, 30, 31, 35], // 6个号码（和差递增5）
  [28, 32, 33, 36, 37, 41], // 6个号码（和差递增6）
  [34, 38, 39, 42, 43, 47], // 6个号码（和差递增7）
  [40, 44, 45, 46, 48, 49] // 7个剩余号码
]

/**
 * 双数分组 TwinGroups
 */
export const SIX_TWIN_GROUPS = [
  [1, 2, 11, 21, 31, 41], // 6个号码（数字尾数相似）
  [3, 4, 13, 23, 33, 43], // 6个号码（数字尾数相似）
  [5, 6, 15, 25, 35, 45], // 6个号码（数字尾数相似）
  [7, 8, 17, 27, 37, 47], // 6个号码（数字尾数相似）
  [9, 10, 19, 29, 39, 49], // 6个号码（数字尾数相似）
  [12, 14, 22, 24, 32, 42], // 6个号码（相似数字组合）
  [16, 18, 26, 28, 36, 46], // 6个号码（相似数字组合）
  [20, 30, 34, 38, 40, 44, 48] // 7个剩余号码
]

/**
 * 金字塔分组 PyramidGroups
 */
export const SIX_PYRAMID_GROUPS = [
  [1, 2, 23, 24, 25, 49], // 6个号码（两端向中间收缩）
  [3, 4, 6, 20, 27, 28], // 6个号码（两端向中间收缩）
  [5, 8, 9, 16, 17, 30], // 6个号码（两端向中间收缩）
  [7, 10, 11, 15, 18, 31], // 6个号码（两端向中间收缩）
  [12, 13, 19, 22, 29, 34], // 6个号码（两端向中间收缩）
  [14, 32, 35, 36, 37, 39], // 6个号码（两端向中间收缩）
  [21, 26, 40, 41, 42, 43], // 6个号码（两端向中间收缩）
  [33, 38, 44, 45, 46, 47, 48] // 7个剩余号码
]

/**
 * 累加和递增分组 IncrementalSumGroups
 */
export const SIX_INCREMENTAL_SUM_GROUPS = [
  [1, 5, 6, 10, 15, 20], // 6个号码（累加和递增1）
  [3, 4, 8, 13, 18, 23], // 6个号码（累加和递增2）
  [2, 7, 11, 16, 21, 26], // 6个号码（累加和递增3）
  [9, 12, 14, 19, 24, 29], // 6个号码（累加和递增4）
  [17, 27, 31, 36, 38, 41], // 6个号码（累加和递增5）
  [25, 28, 30, 35, 39, 44], // 6个号码（累加和递增6）
  [32, 33, 37, 43, 45, 46], // 6个号码（累加和递增7）
  [22, 34, 40, 42, 47, 48, 49] // 7个剩余号码
]

/**
 * 隔位奇偶分组 SkippedOddEvenGroups
 */
export const SIX_SKIPPED_ODD_EVEN_GROUPS = [
  [1, 5, 9, 13, 17, 21], // 6个隔位奇数
  [2, 6, 10, 14, 18, 22], // 6个隔位偶数
  [3, 7, 11, 15, 19, 23], // 6个隔位奇数
  [4, 8, 12, 16, 20, 24], // 6个隔位偶数
  [25, 29, 33, 37, 41, 45], // 6个隔位奇数
  [26, 30, 34, 38, 42, 46], // 6个隔位偶数
  [27, 31, 35, 39, 43, 47], // 6个隔位奇数
  [28, 32, 36, 40, 44, 48, 49] // 7个剩余偶数
]

export const SIX_GROUP_MAP = {
  SIX_ASCENDING_GROUPS,
  SIX_ODD_EVEN_GROUPS,
  SIX_PRIME_GROUPS,
  SIX_MODULO_SEVEN_GROUPS,
  SIX_MANTISSA_GROUPS,
  SIX_MIRROR_GROUPS,
  SIX_ALTERNATE_GROUPS,
  SIX_FIBONACCI_GROUPS,
  SIX_MODULO_THREE_GROUPS,
  SIX_MULTIPLE_GROUPS,
  SIX_OFFSET_MANTISSA_GROUPS,
  SIX_QUADRANT_GROUPS,
  SIX_MULTIPLE_SKIP_GROUPS,
  SIX_SUM_DIFFERENCE_GROUPS,
  SIX_TWIN_GROUPS,
  SIX_PYRAMID_GROUPS,
  SIX_INCREMENTAL_SUM_GROUPS,
  SIX_SKIPPED_ODD_EVEN_GROUPS
}

